package hcn.protocol.phr.healthrecord;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.xml.bind.annotation.XmlElement;
import java.io.Serializable;
import java.util.List;

/**
 * @Author: zhusm@bsoft.com.cn
 *
 * @Description: 列表信息
 *
 * @Create: 2018-12-28 16:22
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OutpatientPageInfoBean implements Serializable {
    private static final long serialVersionUID = 9009752447267453094L;


    /**
     * pageNo : 1
     * pageSize : 50
     * certificateType : 01
     * certificateNo : 130102196704060322
     * nationality : 01
     * cardList : [{"cardType":"01","cardNo":"4211811","domain":"创业智慧医院"}]
     */

    //    private int pageNo;
    //    private int pageSize;
    //    private String cardTpye;
    //    private String cardNo;
//    private String nationality;
    private int total;
    private String mpiid;
    private List<RecordBean> recordList;

    @NoArgsConstructor
    @Data
    @Builder
    @AllArgsConstructor
    public static class RecordBean {
        /**
         * cardType : 01
         * cardNo : 4211811
         * domain : 创业智慧医院
         */

        private String dcid;
        private String title;
        private String organizationId;
        private String organizationName;
        private String departmentId;
        private String departmentName;
        private String doctorId;
        private String doctorName;
        private String optDate;
        private String jzlsh;
        private String patientMedicalCardNumber;
        private String diagnosisDate;
        private String diagnosisName;
        private String address;
        private List<DiagnosticInformation> DiagnosticInformationList;

        public static class DiagnosticInformation {

            /**
             * diagnosticCode : ICD10b编码
             * diagnosticName : 诊断名称
             * syndromeCode : 症候代码
             * syndromeName : 症候名称
             */

            private String diagnosticId;
            private String diagnosticCode;
            private String diagnosticType;
            private String diagnosticName;
            private String syndromeCode;
            private String syndromeName;
            private String masterDiseaseSign;

            public String getDiagnosticId() {
                return diagnosticId;
            }

            public void setDiagnosticId(String diagnosticId) {
                this.diagnosticId = diagnosticId;
            }

            @XmlElement(name = "DiagnoseCode")
            public String getDiagnosticCode() {
                return diagnosticCode;
            }

            public void setDiagnosticCode(String diagnosticCode) {
                this.diagnosticCode = diagnosticCode;
            }
            @XmlElement(name = "DiagnoseName")
            public String getDiagnosticName() {
                return diagnosticName;
            }

            public void setDiagnosticName(String diagnosticName) {
                this.diagnosticName = diagnosticName;
            }
//            @XmlElement(name = "DiagnoseCode")
            public String getSyndromeCode() {
                return syndromeCode;
            }

            public void setSyndromeCode(String syndromeCode) {
                this.syndromeCode = syndromeCode;
            }
//            @XmlElement(name = "DiagnoseCode")
            public String getSyndromeName() {
                return syndromeName;
            }

            public void setSyndromeName(String syndromeName) {
                this.syndromeName = syndromeName;
            }

            @XmlElement(name = "MasterDiseaseSign")
            public String getMasterDiseaseSign() {
                return masterDiseaseSign;
            }

            public void setMasterDiseaseSign(String masterDiseaseSign) {
                this.masterDiseaseSign = masterDiseaseSign;
            }

            public String getDiagnosticType() {
                return diagnosticType;
            }

            public void setDiagnosticType(String diagnosticType) {
                this.diagnosticType = diagnosticType;
            }
        }
    }
}
